Career 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2007 2006 2005 2004 2003 2002
All Rounds Final 1/2 1/4 First Second Third Fourth Pre-q Rubber 1 Rubber 2 Rubber 3 Rubber 4 Rubber 5 Robin Bronze Q3 N/A Q2 Q1 ER Q4 CR QF Q5 N/A
All Courts Acrylic N/A Clay Grass Carpet Hard I.hard
All Tour Portugal F2 France F5 Greece F2 Italy F2 Germany F8 France F10 Germany F10 Germany F12 Latvia F1 Iran F4 Austria F3 Italy F4 Morocco F1 Morocco F2 Morocco F3 Morocco F5 Tunisia F2 Finland F1 France F8 France F9 Romania F8 Germany F6 Germany F8 Algeria F1 Italy F34 South Africa F1 Morocco F1 Morocco F2 Morocco F3 Austria F4 Austria F5 Germany F9 Belgium F2 Germany F10 Germany F11 Spain F29 Spain F30 Great Britain F17 Great Britain F18 Czech Republic F4 Great Britain F1 Great Britain F2 Germany F4 Croatia F2 Algeria F2 Germany F5 Germany F14 Spain F2 Germany F4 Spain F4 Morocco F1 Morocco F2 France F7 Morocco F6 Morocco F7 Morocco F1 Morocco F2 Morocco F1 Morocco F2 Morocco F7 Spain F13 Morocco F8 Morocco F9 Spain F12 Morocco F1 Morocco F2 Morocco F3 France F13 Spain F29 Morocco F6 Morocco F7 Morocco F9 Morocco F10 Spain F2 Spain F3 Spain F4 Spain F7 Spain F8 Morocco F1 Morocco F2 Morocco F3 Italy F18 Morocco F4 Morocco F5 Spain F36 Spain F5 Croatia F4 Croatia F5 Morocco F3 Morocco F4 Morocco F5 Morocco F6 Spain F1 Portugal F3 Morocco F1 Morocco F2 Morocco F3 Spain F20 Spain F30 Morocco F1 Morocco F2 Morocco F3 Spain F14 Spain F15 Spain F16 France F10 France F11 France F12 France F13 Germany F10 Morocco F7 Morocco F8 Morocco F9 Tunisia F11 (Hammamet) Tunisia F12 (Hammamet) Tunisia F13 (Hammamet) Tunisia F14 (Hammamet) Tunisia F15 (Hammamet) Tunisia F16 (Hammamet) Tunisia F17 (Hammamet) Tunisia F18 (Hammamet) Spain F16 (Huelva) Spain F18 (Palma del Rio) Germany F12 Morocco F4 (Casablanca) Morocco F5 (Beni Mellal) Morocco F6 (Agadir) Tunisia F2 (Hammamet) Tunisia F3 (Hammamet) Portugal F3 (Loule) Portugal F4 (Quinta Do Lago) France F6 (Villers Les Nancy) Morocco F1 (Khemisset) Morocco F2 (Meknes) Morocco F3 (Tanger) Spain F28 (Madrid) Spain F29 (Sabadell) M15 Vale Do Lobo M15 Faro M15 Loule M15 Portimao M25+H Arlon M25 Bourg-En-Bresse M15 Tanger M15 Agadir Spain F35 M15 Sabadell M25 Riba - Roja de Turia M15 Paguera M15 Valldoreix M15 Villena M15 Torello Spain F21 M15 Madrid M25 Antalya M25 Antalya Belgium F12 Open Castilla y Leon - Segovia Ostdeutscher Sparkessen Cup - Dresden Bauer Watertechnology Cup - Eckental Porsche Open - Poznan Open Castilla y Leon - Segovia GHI Bronx Tennis Classic - Bronx Dusseldorf Open 2006 - Dusseldorf Challenger Copa Sevilla - Seville Ciutat de Barcelona - Barcelona Kobstaedernes ATP Challenger - Kolding 4th Volkswagen Challenger - Wolfsburg Morocco Tennis Tour - Casablanca Baden Open - Karlsruhe The Comercia Challenger - Aptos Challenger Natrel Presented by National Bank - Granby LXVII Concursu Internacional de Vigo - Vigo Genova Open Challenger - Genova Copa Sevilla 2007 - Seville Posillipo Tennis Cup - Napoli Challenger 42 - Andrezieux Morocco Tennis Tour - Meknes 12 Open Barletta Citta Della Disfida Trofeo Angeldevil - Barletta Mitsubishi Electric Europe Cup - Monza Italy F8 Italy F9 Turkey F2 Morocco F4 Morocco F5 Zenith Tennis Cup-Harbour Club - Milan Spain F30 Iran F3 France F3 14° Torneo B. Camparini- Lines Trophy - Reggio Emilia Spain F3 Spain F4 Italy F7 Spain F5 Sporting Challenger '08-Trofeo Regione Piemonte - Turin Uzbekistan F3 Morocco F4 Germany F9 Spain F20 Siemens Open - Scheveningen Germany F13 Algeria F2 Algeria F3 Italy F33 Riviera de Rimini Challenger - Rimini South Africa F2 Tunisia F5 Tunisia F6 San Marino CEPU Open - San Marino Waco Tennis Challenger - Waco Open Tarragona Costa Daurada - Tarragona Caversham International Tennis Tournament - Jersey Germany F9 IPP Open - Helsinki Heilbronn Challenger Tanger Challenger Meknes Challenger Wolfsburg Challenger Cherbourg Challenger Rabat Challenger Marrakech Challenger Barletta Challenger Napoli Challenger Rome Challenger Sofia Challenger Tunis Challenger Lugano Challenger Braunschweig Challenger Pozoblanco Challenger Aptos Challenger Lexington Challenger M15 Madrid Orbetello Challenger Granby Challenger Segovia Challenger Vancouver Challenger Geneva Challenger San Sebastian Challenger Banja Luka Challenger Trnava Challenger Napoli Challenger Mons Challenger Tarragona Challenger Seoul Challenger Rome Challenger San Remo Challenger Scheveningen Challenger Szczecin Challenger Tiburon Challenger Meknes Challenger IX Open Internacional D'Andorra - Andorra Le Gosier Challenger Rabat Challenger Furth Challenger Istanbul Challenger M15 Marrakech Mons Challenger Loughborough Challenger Meknes Challenger Casablanca Challenger Loughborough Challenger Tanger Challenger Recanati Challenger Petange Challenger Mons Challenger Warsteiner Challenger Lubeck - Lubeck XI Ciutat de Barcelona - Barcelona LTA Shrewsbury Challenger - Shrewsbury M15 Girona Arroyo de la Encomienda - Valladolid Cherbourg Challenger Irving Challenger Open Costa Daurada - Tarragona Ostdeutscher Sparkassen Cup - Dresden Open de Montauban - Montauban Furth Challenger Istanbul Challenger Meknes Challenger Mons Challenger Rennes Challenger Casablanca Challenger Turin Challenger Heilbronn Challenger Liberec Challenger Seville Challenger Alphen Challenger Banja Luka Challenger Morelos Challenger Quimper Challenger St. Brieuc Challenger Rome Challenger Spain F27 (Seville) Nord LB Open 2006 - Braunschweig Surbiton Challenger Istanbul Challenger Orleans Challenger Mohammedia Challenger Arroyo de la Encomienda - Valladolid Open Costa Daurada - Tarragona 5° Sporting Challenger - Turin South African Airways Tennis Open - Durban XI Torneo Internazionale di Tennis - Barletta Surbiton Challenger Heilbronn Open - Heilbronn Black Forest Open - Freudenstadt Tennis Napoli Cup 2007 - Napoli Liberec Challenger Tunis Open 2007 - Tunis Copa Petrobras Uruguray - Montevideo Memorial Manfredini - Sassuolo Lambertz Open by Stawag - Aachen Reggio Emilia Challenger Pekao Open - Szczecin Challenger Tunisie - Tunis Copa Petrobras Argentina - Buenos Aires Baden Open - Karlsruhe Heilbronn Open - Heilbronn Mitsubishi Electric Europe Cup - Monza Fairfield Challenger M25 Madrid Open de Rennes - Rennes Seville Challenger The Tarka Challenger - Barnstaple IPP Open - Helsinki Cherbourg Challenger 5 Volkswagen Challenger - Wolfsburg Chuncheon Challenger Sacramento Challenger M25 Zaragoza St. Brieuc Challenger Morocco Tennis Tour - Tanger Biella Challenger Braunschweig Challenger Furth Challenger Nottingham Challenger Granby Challenger Liberec Challenger Cassis Challenger Vancouver Challenger Almaty Challenger Ostdeutscher Sparkassen Cup - Dresden Knoxville Challenger M15 Benicarlo Playford Challenger Pharma Medico Open 2008 - Aarhus Cordenons Challenger Quimper 2 Challenger Genova Open Challenger - Genova Semgroup Challenger - Tulsa Mallorca Challenger Biel Challenger Bauer Watertechnilogy Cup 2008 - Eckental Ostrava Challenger Schickedanz Open 2007 - Furth Szczecin Challenger Nord LB Open 2007 - Braunschweig Arpa Ceramic Cup - Reggio Emilia Open de Montauban - Montauban 2007 Nielsen Pro Tennis Championship - Winnetka Porsche Open - Poznan LTA Shrewsbury Challenger - Shrewsbury South African Airways Open - East London Open Castilla y Leon - Segovia Logopak Challenger 2005 - Lubeck Lambertz Open by Stawag - Aachen Dallas Challenger Tunis Challenger Braunschweig Challenger XXXVII Torneig C.E. Laieta - Barcelona Kolding Challenger Braunschweig Challenger Bastad Challenger Bordeaux Challenger Braunschweig Challenger Kish Free Zone Island Challenger - Kish Island Lille Challenger Quimper Challenger Internazionali di Tennis Dell'Umbria - Todi Kenitra Challenger Volkswagen Challenger 2005 - Wolfsburg Kyoto Challenger Mouilleron-Le-Captif Challenger Helsinki Challenger ATP Open Castilla y Leon - Segovia Tashkent Challenger M25 Vic Casablanca Challenger Vicenza Challenger Braga Challenger Furth Challenger Heilbronn Challenger Marrakech Challenger Biella Challenger Kenitra Challenger Scheveningen Challenger Rome Challenger Nottingham Challenger Kazan Challenger Internationaux du Doubs - Besancon Furth Challenger Marburg Challenger Cleveland Challenger Hamburg Challenger Playford Challenger Biella 4 Challenger Tennis Napoli Cup - Napoli Rennes Challenger Irving Challenger Heilbronn Challenger Lisbon Challenger Prague Challenger Istanbul Challenger Rabat Challenger Rennes Challenger Bratislava Challenger Yokohama Challenger Tunis Challenger Tunis Challenger Prague Challenger Charlottesville Challenger Mercedes Cup - Stuttgart Bangkok Challenger Pau Challenger Braunschweig Challenger GHI Bronx Tennis Classic - Bronx Lille Challenger Qatar ExxonMobil Open - Doha LXVII Concurso Internacional de Tenis Cidade de Vigo - Vigo Oberstaufen Cup - Oberstaufen Surbiton Challenger Nottingham Challenger Internationaux de Doubs Open de Franchie-Comte - Besancon Ludwigshafen Challenger Prague Challenger Grand Prix Hassan II - Casablanca Braunschweig Challenger Open de Tenis Amaya - Pamplona Stockholm Open - Stockholm Calgary Challenger Nur-Sultan Challenger Davidoff Swiss Indoors Basel - Basel Biella 3 Challenger Lille Challenger Rome 1 Challenger Biella 6 Challenger Prostejov Challenger Braunschweig Challenger Ismaning Challenger Bergamo Challenger Helsinki Challenger Grand Prix Hassan II - Casablanca Bari Challenger Forli 2 Challenger BMW Open - Munich Columbus Challenger Rome Challenger Lille Challenger Prague 1 Challenger Oeiras 3 Challenger Kobstaedernes ATP Challenger - Kolding Stockholm Open - Stockholm Arroyo de la Encomienda - Valladolid Morocco Tennis Tour - Marrakech Qatar ATP Challenger - Doha Tunis Open 2006 - Tunis ECM Prague Open - Prague Schickendanz Open - Furth Grand Prix Hassan II - Casablanca Ostdeutscher Sparkessen Cup - Dresden Grand Prix Hassan II - Casablanca BMW Open - Munich Gerry Weber Open - Halle Citta di Como - Como Catella Swedish Open - Bastad Bauer Watertechnology Cup 2007 - Eckental Brisbane International - Brisbane 1° Torneo Challenger Series 12° Trofeo Paolo Corazzi - Cremona Tunis Open - Tunis International German Open - Hamburg If Stockholm Open - Stockholm Monza Challenger Glasgow Challenger Davidoff Swiss Indoors Basel - Basel Brisbane International - Brisbane Orleans Challenger Heineken Open - Auckland Open 13 - Marseille Dubai Duty Free Tennis Championships - Dubai Mouilleron-Le-Captif Challenger Tennislife Cup - Napoli Eckental Challenger Open Sabadell Atlantico - Barcelona Campbell's Hall of Fame Tennis Championships - Newport Mercedes Cup - Stuttgart Drummondville Challenger Winston Salem - Winston Salem Open de Moselle - Metz Kobstaedernes ATP Challenger - Kolding If Stockholm Open - Stockholm Swiss Indoors Basel - Basel Trieste Challenger Heineken Open - Auckland Regions Morgan Keegan Championships - Memphis Mercedes Cup - Stuttgart San Remo Challenger Rennes Challenger Farmers Classic - Los Angeles Citi Open - Washington St. Petersburg Open - St. Petersburg If Stockholm Open - Stockholm Mouilleron-Le-Captif Challenger Qatar ExxonMobil Open - Doha Rome Challenger Karlsruhe Challenger PBZ Zagreb Indoors - Zagreb ABN AMRO World Tennis Tournament - Rotterdam Dubai Duty Free Tennis Championships - Dubai Grand Prix Hassan II - Casablanca BRD Nastase Tiriac Trophy - Bucharest Bet-at-home Open - Hamburg Moselle Open - Metz Jersey Challenger Bratislava Challenger St. Brieuc Challenger Dallas Challenger Swiss Indoors Basel - Basel Dallas Challenger Open Sud de France - Montpellier Helsinki Challenger Petange Challenger Braunschweig Challenger Genova Challenger Grand Prix Hassan II - Casablanca Mons Challenger Heilbronn Challenger Citi Open - Washington Kazan Challenger Marburg Challenger Poznan Challenger Geneva Challenger Bergamo Challenger Brisbane International - Brisbane Open Sud de France - Montpellier Tanger Challenger Meknes Challenger ABN AMRO World Tennis Tournament - Rotterdam Cherbourg Challeger Grand Prix Hassan II - Casablanca Sarajevo Challenger Marrakech Challenger Tiburon Challenger Brisbane International - Brisbane Grand Prix Hassan II - Casablanca Jersey Challenger SAP Open - San Jose Grand Prix Hassan II - Marrakech BMW Open - Munich BB&T Atlanta Open - Atlanta Abierto Mexicano - Los Cabos If Stockholm Open - Stockholm Brisbane International - Brisbane Open Sud de France - Montpellier Hall of Fame Tennis Championships - Newport Power Horse Cup - Dusseldorf Mersin Challenger Grand Prix Hassan II - Marrakech St. Brieuc Challenger TEB BNP Paribas Istanbul Open - Istanbul Stockton Challenger Tunis Challenger Baton Rouge Challenger If Stockholm Open - Stockholm Tallahassee Challenger Casablanca Challenger Rome Challenger Tunis Challenger AEGON International - Eastbourne Casablanca Challenger Next Generation Adelaide International - Adelaide Open Sabadell Atlantico - Barcelona Quimper Challenger Grand Prix de Tennis de Lyon - Lyon Grand Prix Hassan II - Casablanca Pilot Pen Tennis - New Haven Koblenz Challenger Bank Austria Tennis Trophy - Vienna Helsinki Challenger Serbia Open - Belgrade Irving Challenger Bet-at-home Open - Hamburg Gerry Weber Open - Halle AEGON International - Eastbourne German Tennis Championships - Hamburg Legg Mason Tennis Classic - Washington PTT Thailand Open - Bangkok Rennes Challenger Heilbronn Challenger Grand Prix Hassan II - Casablanca BRD Nastase Tiriac Trophy - Bucharest BMW Open - Munich Gerry Weber Open - Halle Gerry Weber Open - Halle Sibiu Challenger Marrakech Challenger Qatar ExxonMobil Open - Doha Mouilleron-Le-Captif Challenger Open 13 - Marseille St. Remy Challenger Kenitra Challenger Mons Challenger BRD Nastase Tiriac Trophy - Bucharest Power Horse Cup - Dusseldorf Aptos Challenger Open 13 - Marseille Moselle Open - Metz Erste Bank Open - Vienna Madrid Challenger Meerbusch Challenger Apia International - Sydney Abierto Mexicano Telcel - Acapulco Cassis Challenger BRD Nastase Tiriac Trophy - Bucharest AEGON Championships - London Hamburg Challenger Casablanca Challenger Quimper Challenger Mouilleron-Le-Captif Challenger Mouilleron-Le-Captif Challenger Kremlin Cup - Moscow Valencia Open - Valencia Kenitra Challenger BRD Nastase Tiriac Trophy - Bucharest Braunschweig Challenger AEGON Championships - London Portoroz Challenger Istanbul Challenger ABN AMRO World Tennis Tournament - Rotterdam Traralgon Challenger Delray Beach Open - Delray Beach Abierto Mexicano Telcel - Acapulco Hungarian Open - Budapest AEGON Championships - London Rome Challenger Mohammedia Challenger Amersfoort Challenger Liberec Challenger Garanti Koza Sofia Open - Sofia Poznan Challenger Eckental Challenger Ismaning Challenger Quimper Challenger Biella 1 Challenger Grand Prix Hassan II - Marrakech Copa Petrobras Brazil - Aracaju Poznan Challenger KGHM Dialog Polish Indoors - Wroclaw Hamburg European Open - Hamburg Rabat Challenger Grand Prix Hassan II - Marrakech Prague 2 Challenger Gerry Weber Open - Halle Open de Moselle - Metz Davidoff Swiss Indoors Basel - Basel Qatar ExxonMobil Open - Doha Masters Series - Hamburg BNP Paribas Open - Indian Wells Monte-Carlo Rolex Masters - Monte-Carlo Moselle Open - Metz Internazionali BNL d'Italia - Rome Open Sud de France - Montpellier BNP Paribas Open - Indian Wells Gerry Weber Open - Halle PBZ Zagreb Indoors - Zagreb Bangkok Challenger Murcia Challenger Bratislava Challenger Turin Challenger Monte-Carlo Rolex Masters - Monte-Carlo Luedenscheid Challenger Mutua Madrid Open - Madrid BCR Open Romania - Bucharest Rogers Cup - Montreal BNP Paribas Open - Indian Wells Mutua Madrid Open - Madrid Rogers Cup - Toronto Mutua Madrid Open - Madrid BNP Paribas Open - Indian Wells BMW Open - Munich Mutua Madrilena Masters Madrid - Madrid Western & Southern Open - Cincinnati Miami Open - Miami Sony Open Tennis - Miami Bet-at-home Open - Hamburg TEB BNP Paribas Istanbul Open - Istanbul Brisbane International - Brisbane AEGON International - Eastbourne Citi Open - Washington Moselle Open - Metz Australian Open - Melbourne BNP Paribas Masters - Paris Sony Ericsson Open - Miami Rogers Cup - Montreal Sony Ericsson Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo BNP Paribas Open - Indian Wells Sony Open Tennis - Miami Internazionali BNL d'Italia - Rome Western & Southern Open - Cincinnati BNP Paribas Open - Indian Wells Miami Open - Miami Mercedes Cup - Stuttgart German Tennis Championships - Hamburg Swiss Indoors Basel - Basel German Tennis Championships - Hamburg Intrum Stockholm Open - Stockholm Wimbledon - London U.S. Open - New York French Open - Paris Wimbledon - London French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York U.S. Open - New York French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris French Open - Paris Australian Open - Melbourne Wimbledon - London Wimbledon - London U.S. Open - New York U.S. Open - New York Wimbledon - London Australian Open - Melbourne French Open - Paris Wimbledon - London Australian Open - Melbourne French Open - Paris U.S. Open - New York Australian Open - Melbourne U.S. Open - New York Australian Open - Melbourne French Open - Paris French Open - Paris Australian Open Qualifying - Doha Masters Series Hamburg - Hamburg Wimbledon - London U.S. Open - New York Australian Open - Melbourne BNP Paribas Masters - Paris Australian Open - Melbourne Davis Cup, Group 2, 2R, POL-ALG 4-1 Davis Cup, Group 2, 1R, ALG-SLO 2-3 Davis Cup, Group 2, 2R, ALG-HUN 3-2 Davis Cup, Group 2, PO, NOR-ALG 1-4 Davis Cup, World Group, QF, FRA-GER 3-2 Davis Cup, Group II, PO, MAR-CYP 4-1 Davis Cup, Group II, 1R, POR-MAR 4-1 Davis Cup, Group II, PO, MON-MAR 3-1 Davis Cup, World Group, 1R, ARG-GER 5-0 Davis Cup, Group 2, 2R, POR-ALG 3-2 Davis Cup, Group II, 1R, MAR-GEO 3-1 Davis Cup, World Group II, PO, MAR-VIE 4-0 All Lower level tournaments Davis Cup, Group II, 2R, ROU-MAR 5-0 Davis Cup, Group II, 1R, MAR-LTU 2-3 Olympics - Athens